package com.charging.entity;

import lombok.Data;
import java.util.Date;

/**
 * 充电桩实体类
 */
@Data
public class ChargingPile {
    /**
     * 充电桩ID
     */
    private Long id;

    /**
     * 充电桩编号(唯一)
     */
    private String code;

    /**
     * 充电桩名称
     */
    private String name;

    /**
     * 详细地址
     */
    private String location;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 充电桩类型(AC-交流, DC-直流)
     */
    private String type;

    /**
     * 功率(kW)
     */
    private Double power;

    /**
     * 状态(AVAILABLE-可用, CHARGING-充电中, FAULT-故障, MAINTENANCE-维护中)
     */
    private String status;

    /**
     * 价格(元/度)
     */
    private Double price;

    /**
     * 运营商
     */
    private String operator;

    /**
     * 生产厂家
     */
    private String manufacturer;

    /**
     * 安装日期
     */
    private Date installDate;

    /**
     * 最近维护日期
     */
    private Date lastMaintenanceDate;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 二维码内容
     */
    private String qrCode;

    /**
     * 描述信息
     */
    private String description;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Double getPower() {
        return power;
    }

    public void setPower(Double power) {
        this.power = power;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public Date getInstallDate() {
        return installDate;
    }

    public void setInstallDate(Date installDate) {
        this.installDate = installDate;
    }

    public Date getLastMaintenanceDate() {
        return lastMaintenanceDate;
    }

    public void setLastMaintenanceDate(Date lastMaintenanceDate) {
        this.lastMaintenanceDate = lastMaintenanceDate;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getQrCode() {
        return qrCode;
    }

    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return "ChargingPile{" +
                "id=" + id +
                ", code='" + code + '\'' +
                ", name='" + name + '\'' +
                ", location='" + location + '\'' +
                ", latitude=" + latitude +
                ", longitude=" + longitude +
                ", type='" + type + '\'' +
                ", power=" + power +
                ", status='" + status + '\'' +
                ", price=" + price +
                ", operator='" + operator + '\'' +
                ", manufacturer='" + manufacturer + '\'' +
                ", installDate=" + installDate +
                ", lastMaintenanceDate=" + lastMaintenanceDate +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", qrCode='" + qrCode + '\'' +
                ", description='" + description + '\'' +
                '}';
    }
}